Шаг 56 - Использование по умолчанию папки Мои документы для хранения пользовательских данных.

При первом запуске приложения для каждого пользователя общие диалоги данного приложения Открыть Файл и Сохранить должны по умолчанию использовать папку Мои документы или вложенную в нее папку, если эти диалоги вызываются впервые. При последующих вызовах данных диалогов рекомендуется применять по умолчанию путь, который использовался ранее.

При вызове общих диалогов Открыть/Сохранить файл без параметров по умолчанию должна открываться папка Мои документы. Можно непосредственно назначить папку Мои документы целью, передав CSIDL_PERSONAL в функцию SHGetFolderPath().

Замечание:

Папка Мои документы предназначена для хранения данных, созданных пользователем, а не как временное хранилище или папка данных о состоянии приложения. Данные, не являющиеся пользовательскими, должны сохраняться с использованием соответствующего пути AppData, как описано в следующем требовании.

Для приложений, работающих с изображениями, рекомендуется вместо папки Мои документы использовать папку Мои рисунки, которая вложена в Мои документы.

При использовании для хранения данных папки по умолчанию Мои документы появляются следующие преимущества:

У пользователей имеется только один каталог для упорядочения и хранения всех своих данных.

Упрощено совместное использование данных между приложениями, так как все приложения легко могут получить доступ к папке Мои документы с помощью общего диалога Открыть Файл.

Папка Мои документы является абстрактным местоположением, и администратор может незаметно для пользователей перенести ее в другое место в сети.

Папку Мои документы можно открыть с Рабочего стола.

Папка Мои документы является частью информации профиля пользователя, поэтому по умолчанию другие пользователи не могут читать ее содержимое.

Определение пути к папке Мои документы: Предпочтительным способом определения пути к папке является передача CSIDL_PERSONAL в API SHGetFolderPath.

TCHAR szMyDocs[MAX_PATH]; 
... 
hr = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, szMyDocs) 

SHGetFolderPath совместима с Windows 95, Windows 98, Windows NT 4 и Windows 2000 и экспортируется из SHFOLDER.DLL. SHFOLDER.DLL – это новая библиотека DLL, которая поставляется с Windows 2000, а также с Windows NT 4 с пакетом обновления 4, Internet Explorer 5 и Windows 98 Second Edition. SHFOLDER.DLL – это распространяемый компонент, включающий поддержку для CSIDL_PERSONAL, а также для многих других специальных папок. Поставщикам программного обеспечения рекомендуется содействовать широкому распространению этого компонента, чтобы включить эту поддержку в операционные системы Windows, предшествующие версии Windows 2000. Windows 2000 включает эту DLL как защищенный системный файл, и, таким образом, данная DLL не может быть заменена в системе Windows версии 2000 или старше.

Hosted by uCoz